
#ifndef J_h
#define J_h



#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

typedef const char *(*J_reader)(void *load, size_t *size);

#define  J_API(t) extern t
#define  cast(t, exp) ((t)(exp))

enum Jtype{
	J_NIL,
	J_BOOLEAN,
	J_NUMBER,
	J_STRING,
	J_TABLE, 
	J_CALL
};
typedef  unsigned int Instruction ; 
#define Mmod(s,size) \
	((cast(unsigned int, (s) & ((size)-1))))
#define Mstr2d(a, b) strtod((a), (b))

#endif